// pages/doctor-info/doctor-info.js
Page({
    /**
     * 页面的初始数据
     */
    data: {
      isEditing: false,    // 是否处于编辑态
      isSaving: false,     // 是否正在保存（防止重复提交）
      userInfo: {}         // 医生个人信息
    },
  
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
      // 页面加载时获取医生信息
      this.getDoctorInfo();
    },
  
    /**
     * 封装：获取医生信息
     */
    getDoctorInfo() {
      // 显示加载提示
      wx.showLoading({
        title: '加载中...',
        mask: true
      });
  
      // 模拟异步请求
      setTimeout(() => {
        // mock数据函数：返回医生信息模板
        const mockData = this.generateMockDoctorInfo();
        
        // 更新页面数据
        this.setData({
          userInfo: mockData
        });
  
        // 隐藏加载提示
        wx.hideLoading();
      }, 800);
    },
  
    /**
     * 封装：生成mock医生信息
     */
    generateMockDoctorInfo() {
      return {
        avatar: '/images/doctor-avatar.png',
        name: '郦医生',
        title: '主任医师',
        hospital: '北京协和医院',
        department: '口腔科',
        academicTitles: ['医学博士', '主任医师', '博导'],
        skills: ['种植牙', '牙齿矫正', '牙周病治疗', '儿童口腔'],
        intro: '郦医生毕业于北京大学口腔医学院，获医学博士学位。从事口腔科临床工作18年，擅长种植牙修复、隐形矫正、牙周病系统治疗及儿童口腔保健。发表学术论文30余篇，主持国家级科研项目2项，曾赴美国哈佛大学牙科学院访问学习。临床经验丰富，注重患者体验，致力于为患者提供精准、舒适的口腔医疗服务。'
      };
    },
  
    /**
     * 切换到编辑态
     */
    handleEdit() {
      this.setData({
        isEditing: true
      });
    },
  
    /**
     * 保存编辑内容
     */
    handleSave() {
      const { userInfo } = this.data;
  
      // 基础数据校验
      if (!userInfo.name || !userInfo.title || !userInfo.hospital || !userInfo.department) {
        wx.showToast({
          title: '请填写完整基本信息',
          icon: 'none',
          duration: 2000
        });
        return;
      }
  
      // 防止重复提交：设置保存中状态
      this.setData({
        isSaving: true
      });
  
      // 模拟异步保存
      setTimeout(() => {
        // 这里是数据库更新逻辑占位符
        // 实际开发时替换为：wx.request({ url: '数据库更新接口', method: 'POST', data: userInfo })
        
        wx.showToast({
          title: '信息保存成功',
          icon: 'success',
          duration: 1500
        });
  
        // 保存成功后切换回展示态，重置保存状态
        this.setData({
          isEditing: false,
          isSaving: false
        });
      }, 1200);
    },
  
    /**
     * 处理姓名输入
     */
    handleNameInput(e) {
      this.setData({
        "userInfo.name": e.detail.value
      });
    },
  
    /**
     * 处理职称输入
     */
    handleTitleInput(e) {
      this.setData({
        "userInfo.title": e.detail.value
      });
    },
  
    /**
     * 处理医院输入
     */
    handleHospitalInput(e) {
      this.setData({
        "userInfo.hospital": e.detail.value
      });
    },
  
    /**
     * 处理科室输入
     */
    handleDepartmentInput(e) {
      this.setData({
        "userInfo.department": e.detail.value
      });
    },
  
    /**
     * 处理学术头衔输入（转成数组格式）
     */
    handleTitlesInput(e) {
      const titlesStr = e.detail.value.trim();
      // 用顿号分割，过滤空字符串
      const academicTitles = titlesStr ? titlesStr.split('、').filter(item => item.trim()) : [];
      this.setData({
        "userInfo.academicTitles": academicTitles
      });
    },
  
    /**
     * 处理擅长领域输入（转成数组格式）
     */
    handleSkillsInput(e) {
      const skillsStr = e.detail.value.trim();
      // 用顿号分割，过滤空字符串
      const skills = skillsStr ? skillsStr.split('、').filter(item => item.trim()) : [];
      this.setData({
        "userInfo.skills": skills
      });
    },
  
    /**
     * 处理简介输入
     */
    handleIntroInput(e) {
      this.setData({
        "userInfo.intro": e.detail.value
      });
    }
  });